package com.ygqh.customs.domain;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.annotation.JSONType;
import com.ygqh.common.AbstractObject;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 〈支付原始数据表头〉
 *
 * @author guohao
 * @date 2019/3/14 18:31
 * @since 1.0.0
 */
@JSONType(orders = {"guid", "initalRequest", "initalResponse", "ebpCode", "payCode", "payTransactionId", "totalAmount", "currency", "verDept", "payType", "tradingTime", "note"})
@EqualsAndHashCode(callSuper = true)
@Data
public class PayExchangeInfoHead extends AbstractObject {

    private static final long serialVersionUID = 4193856795773546022L;
    /**
     * 系统唯一序号	Guid	C..36	企业系统生成36位唯一序号（英文字母大写）。	是
     */
    private String guid;

    /**
     * 原始请求	initalRequest	C..8000	跨境电商平台企业向支付企业发送的原始信息	是
     */
    private String initalRequest;

    /**
     * 原始响应	initalResponse	C..8000	支付企业向跨境电商平台企业反馈的原始信息	是
     */
    private String initalResponse;

    /**
     * 电商平台代码	ebpCode	C..18	电商平台的海关注册登记编号。	是
     */
    private String ebpCode;

    /**
     * 支付企业代码	payCode	C..18	支付企业的海关注册登记编号。	是
     */
    private String payCode;

    /**
     * 交易流水号	payTransactionId	C..60	交易唯一编号（可在央行认可的机构验证）	是
     */
    private String payTransactionId;

    /**
     * 交易金额	totalAmount	N19,5	实际交易金额	是
     */
    private BigDecimal totalAmount;

    /**
     * 币制	currency	C..4	实际交易币制（海关编码）	是
     * <p>
     * 货币代码    货币符号   货币名称
     * 142        CNY        人民币
     */
    private String currency;

    /**
     * 验核机构	verDept	C1	1-银联 2-网联 3-其他	是
     */
    private String verDept;

    /**
     * 支付类型	payType	C1	用户支付的类型。1-APP 2-PC 3-扫码 4-其他	否
     */
    private String payType;

    /**
     * 交易成功时间	tradingTime	C..14	交易支付时间。	是
     */
    private String tradingTime;

    /**
     * 备注	note	C..1000		否
     */
    private String note;
}
